namespace Yaaf.WP7.NativeAccess.IO
{
    using System;
    using System.IO;

    using Yaaf.WP7.NativeAccess.Helper;

    public class File
    {
        public static Stream Open(string path, FileMode mode, FileAccess access)
        {
            return FileSystemAccess.OpenFile(path, mode, access);
        }

        public static bool Exists(string path)
        {
            return FileSystemAccess.ExistsFile(path);
        }

        public static void Move(string path, string dest, bool overwrite = false)
        {
            FileSystemAccess.MoveFile(path, dest, overwrite);
        }

        public static void Delete(string path)
        {
            FileSystemAccess.DeleteFile(path);
        }

        public static void Copy(string source, string dest, bool overwrite = false)
        {
            FileSystemAccess.CopyFile(source, dest, overwrite);
        }

        public static long GetSize(string fullName)
        {
            return FileSystemAccess.GetFileSize(fullName);
        }
    }
}